var mPage;// 主页面
var fPage;// 编辑页面
var qPage;// 查询页面
var ds;// 表格的数据源

var Demo = function() {
	//提出表单字段配置
	var fields = [
		['姓名', 'MEMBERNAME'], 
		['地址', 'MEMBERADDR'], 
		['查找', 'search', {xtype : 'searchfield',hiddenName : 'searchId'}], 
		['性别', 'SEXT', {hiddenName : 'SEX',data : [[1, '1男'], [2, '女']]}], 
		['所管机构', 'ORGNAME', {xtype : 'treefield',hiddenName : 'ORGID',treeConfig : {rootId : 1,rootText : "老百姓大药房",code : 'dept'}}], 
		['', 'MEMBERID', {xtype : 'hidden',colspan : 2}]
	];
	var titles = {add : '新增',edit : '修改'};
	
	//grid配置
	/**
	 * 列模型Ext原始写法,参考Ext.grid.GridPanel api
	 * var cols =[{header: "Last Updated", width: 135, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}]; 
	 */
	//列模型简化写法
	var cols = [['姓名', 'MEMBERNAME', {editor : new Ext.form.TextField({})}], 
		['地址', 'MEMBERADDR'], ['', 'MEMBERID', {hidden : true}]
	];
	/**
	 * 数据模型原始写法,参考Ext.data.Record create方法
	 * var rType =[{name:'MEMBERNAME',mapping:'MEMBERNAME',type:'string',convert:function(){}}]; 
	 */
	//数据模型简化写法,默认可以不用写,直接从cols取简化写法
	var rType=['MEMBERNAME','MEMBERADDR'];
	/**
	 * 表格的工具栏按钮
	 * [{text:'新增',iconCls}]
	 * 简化写法
	 */
	var	tbar ={add : function() {
					//Ext.getCmp('btn-fPage-edit').setText('新增');
					//MiaUtil.showPage(titles.add, fPage);
					var c =new ds.recordType({MEMBERNAME:'',MEMBERADDR:''});
					ds.add([c]);
				},
			   edit : function() {
					Ext.getCmp('btn-fPage-edit').setText('修改');
					MiaUtil.showPage(titles.edit, fPage, {
						sm : mPage.grid,
						url : urls.load,
						params : pk
					});
			    },
				del : function() {
					MiaUtil.del(urls.del, mPage.grid, pk, {
						reload : true
					});
				},
				query : function() {
					qPage.show();
				},
				save:function(){
				
				}
	};
	
	
	//其他参数
	var urls = {
		list : "list.json",
		edit : "/webapp/codeinfo/member/edit.do",
		load : "/webapp/codeinfo/member/load.do",
		del : "/webapp/codeinfo/member/del.do"
	};
	var pk = 'MEMBERID';// 用于拼提交参数
	
	return {
		init : function() {
			fPage = new Ext.ux.FormPage({
				id : 'fPage',
				fields : fields,
				actions : {// 弹出窗口的按钮,新增和修改提交地址一样,为同一个按钮
					edit : function() {
						MiaUtil.submit(fPage.form, urls.edit);
					}
				}
			});
			// 去掉配置,则去掉相应的面板
			mPage = new Ext.ux.CrudPage({
				height:600,
				treeConfig : {// 左边树的配置
					rootId : 1,
					rootText : "老百姓大药房",
					code : 'dept'
				// tbar:[{text:'新增',handler:function(){}}]
				},
//				topConfig:{
//					fields:fields
//				},
				gridConfig : {// 右边表格的配置
					url : urls.list,
					tbar:tbar,
					cols : cols,// 列模型
					// rType:rType,//数据类型
					excel : function() {
						alert("导出Excel!");
					}
				}
			});
			// 显示整个页面,如果不用viewport,则配置CrudPage的renderTo属性
			
			new Ext.Viewport({
				layout : 'fit',
				items : mPage,
				hideBorders : true
			});
			
			// 载入数据
			ds = mPage.grid.getStore();
			ds.load();
			qPage = MiaUtil.getQueryPage({
				fields : {
					MEMBERNAME : {
						text : '姓名',
						vtype : 's'
					}
				},
				ds : ds
			});
			
			
			
		}
	};
}();
Ext.onReady(Demo.init);